cap program drop superclean_basic
program define superclean_basic
	syntax varlist(min=1)

	foreach z of varlist `varlist' {
		replace `z' = subinstr(`z', "Ã", "A", .)
		replace `z'= subinstr(`z',"Ã","A",.)
		replace `z'= subinstr(`z',"Ã","A",.)
		replace `z'= subinstr(`z',"Ã","A",.)
		replace `z'= subinstr(`z',"Ã","A",.)
		replace `z' = subinstr(`z', "Ã", "E", .)
		replace `z' = subinstr(`z', "Ã", "I", .)
		replace `z' = subinstr(`z', "Ã", "U", .)
		replace `z' = subinstr(`z', "Ã", "O", .)
		replace `z' = subinstr(`z', "Ã", "N", .)
		replace `z' = subinstr(`z', "NÂ°", "nº", .)
		replace `z' = subinstr(`z', "NÂº", "nº", .)	
		replace `z' = subinstr(`z', `"""', "", .)
		replace `z' = subinstr(`z', "Â", "", .)
		replace `z' = subinstr(`z', "â", "", .)
		replace `z' = subinstr(`z', "â", "", .)
		replace `z' = subinstr(`z', "â", "", .)	
		replace `z' = subinstr(`z', "°", "", .)	
		replace `z' = subinstr(`z',"Á","A",.)
		replace `z' = subinstr(`z',"É","E",.)
		replace `z' = subinstr(`z',"Í","I",.)
		replace `z' = subinstr(`z',"Ó","O",.)
		replace `z' = subinstr(`z',"Ú","U",.)
		replace `z' = subinstr(`z',"Ü","U",.)
		replace `z' = subinstr(`z',"Ñ","N",.)
		replace `z' = subinstr(`z',"á","a",.)
		replace `z' = subinstr(`z',"é","e",.)
		replace `z' = subinstr(`z',"í","i",.)
		replace `z' = subinstr(`z',"ó","o",.)
		replace `z' = subinstr(`z',"ú","u",.)
		replace `z' = subinstr(`z',"ñ","n",.)
		replace `z' = subinstr(`z',"ü","u",.)

		global other ". , - _ | ( ) '"
		foreach g of global other {
			replace `z'=subinstr(`z',"`g'","",.)
		}

		replace `z'=trim(`z')
		replace `z'=ltrim(`z')
		replace `z'=rtrim(`z')
		replace `z'=itrim(`z')
		replace `z'=lower(`z')
	}
end
